#ifndef CONDITIONVARIABLE_H_
#define CONDITIONVARIABLE_H_

#include <pthread.h>
#include "Mutex.h"

class ConditionVariable {
private:
	pthread_cond_t cv;

public:
	ConditionVariable();
	//Manda la señal para desbloquear un hilo en espera
	void signal();
	//Manda la señal para desbloquear totdoslos hilos en espera
	void broadcast();
	//Bloquea la condition variable
	void wait(Mutex& mutex);
	virtual ~ConditionVariable();
};

#endif /* CONDITIONVARIABLE_H_ */
